package com.hujesse.pojo;

import com.baomidou.mybatisplus.annotation.*;
import com.hujesse.enums.StatusEnums;
import com.hujesse.enums.StatusEnums2;
import lombok.Data;

import java.util.Date;

// 表名与类名映射
@TableName(value = "sure")
@Data
public class Sure {
//    @TableId( type = IdType.ASSIGN_UUID)
    private Long id;
    @TableField(value = "name") //处理变量与表字段不一致
    public String username;
    @TableField(fill = FieldFill.INSERT) // 表示插入的时候执行策略
    private Date createTime;
    @TableField(fill = FieldFill.INSERT_UPDATE)   // 插入和更新都执行
    private Date updateTime;
    // version用来标记乐观锁的，处理并发的解决方案
    @Version
    private Integer version;
    // 处理枚举类型
    private StatusEnums2 status;

    @TableLogic
    private char destroyed;
    // 主键策略，默认为NONE，使用雪花算法生成一串，但必须为Long类型，因为太长了，数据库的是bigint
/*    AUTO(0),  // 默认主键自增
   NONE(1),    // 雪花算法生成Long
    INPUT(2),  // 用户自己输入，不输入默认自增
    ASSIGN_ID(3),   // 雪花算法生成
    ASSIGN_UUID(4),*/  // 必须使用String，数据库设置varchar
}
